package com.wgchao.amc.service;

import com.wgchao.amc.common.PageData;
import com.wgchao.amc.common.ResultCommon;
import com.wgchao.amc.mapstruct.dto.SysBaseFuncDTO;
import com.wgchao.amc.mapstruct.dto.SysBaseMenuDTO;
import com.wgchao.amc.mapstruct.dto.SysMenuProjectDTO;

import java.util.List;

/**
 * @作者：wgchao
 * @时间：22:03 2019/10/29 0029
 * @用途：
 **/
public interface MenuService {
    public ResultCommon<SysBaseMenuDTO> save(SysBaseMenuDTO menuDTO) throws Exception;

    public ResultCommon<PageData<SysBaseMenuDTO>> page(String proMark, int page, int limit) throws Exception;

    public ResultCommon<SysBaseMenuDTO> search(Long menuId) throws Exception;

    public ResultCommon<SysBaseMenuDTO> update(SysBaseMenuDTO menuDTO) throws Exception;

    public ResultCommon<SysBaseMenuDTO> delete(Long menuId) throws Exception;

    public ResultCommon<PageData<SysMenuProjectDTO>> page(int page, int limit) throws Exception;

    public ResultCommon<SysMenuProjectDTO> save(SysMenuProjectDTO projectDTO) throws Exception;

    public ResultCommon<SysMenuProjectDTO> deletePro(Long proid) throws Exception;

    public ResultCommon<SysMenuProjectDTO> update(SysMenuProjectDTO projectDTO) throws Exception;

    public ResultCommon<List<SysMenuProjectDTO>> searchAll() throws Exception;

    public ResultCommon<PageData<SysBaseFuncDTO>> page(int page, int limit, Long menuId) throws Exception;

    public ResultCommon<SysBaseFuncDTO> save(SysBaseFuncDTO funcDTO) throws Exception;

    public ResultCommon<SysBaseFuncDTO> update(SysBaseFuncDTO funcDTO) throws Exception;

    public ResultCommon<SysBaseFuncDTO> deleteFunc(Long funcId) throws Exception;


    public ResultCommon<List<SysBaseMenuDTO>> searchMenus(String proMark) throws Exception;
}
